/*
 * Copyright 2010 Donny A. Wijaya
 *  
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 * http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */
package com.uberium.lazy.help;

import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;

/**
 * The HelpMojo class. Goal which shows goals available .
 *
 * @goal help
 * 
 * @phase generate-sources
 * 
 * @author Donny A. Wijaya
 * @version 0.0.9
 * @since April 2010
 */
public class HelpMojo extends AbstractMojo {
	/** String builder for building message */
	private final StringBuilder builder;
	
	/**
	 * Instantiates a new CreateMojo object.
	 */
	public HelpMojo() {
		super();
		builder = new StringBuilder();
		builder.append("\nGoals available:\n")
			   .append("lazy:project - Create a project\n")
			   .append("lazy:create - Create a component\n")
			   .append("lazy:scaffold - Scaffold CRUD components from an entity");
	}

	/**
	 * Execute help mojo
	 */
	@Override
	public void execute() throws MojoExecutionException, MojoFailureException {
		getLog().info(builder.toString());
	}
}